<?php
class aa{
    public $a = 1233;
    public  $b = 'bbbb';
    private $p = 'private';
    //当从类中调用一个不存在的属性的时候,php会自动执行这个__get()魔术方法
    function __get($name)
    {
        echo $name;
    }
    //当给类中一个不存在的属性(也可能这个属性是一个私有属性)赋值的时候,php会自动执行这个__set()方法
     function __set($name, $value)
    {
     echo $name,$value;
        // TODO: Implement __set() method.
    }
    //当调用一个类中不存在的方法的时候会自动执行这个__call方法
    function  __call($name, $arguments)
    {
     echo  $name;
     print_r($arguments);
        // TODO: Implement __call() method.
    }
}

$obj = new aa();

//var_dump(get_class($obj));
echo "<pre>";
//print_r(get_class_methods($obj));
print_r(get_class_vars('aa'));